Я после этой tutorialRails неопределенной переменной @assets
Моя ошибка @asset переменная, которую я использую в моей _form.html.erb и index.html.erb не работает .Это говорит Первый аргумент в виде не может содержать ноль или быть пустой .Но когда я заменяю это будет: asset_path тогда он начинает работать
[assets_controller]
class AssetsController < ApplicationController
before_filter :authenticate_user! #authenticate for users before any methods is called
def index
@assets = current_user.assets
end
def new
@asset = current_user.assets.new
end
def create
@asset = current_user.assets.new(user_assets)
end
private
def user_assets
params.require(:asset).permit(:user_id, :uploaded_file)
end
end
[активы/_form.html.erb]
<%= form_for @assets, :html => {:multipart => true} do |f| %>
<%= f.error_messages %>
<p>
<%= f.label :uploaded_file, "File" %><br />
<%= f.file_field :uploaded_file %>
</p>
<p><%= f.submit "Upload" %></p>
<% end %>
[index.html.erb]
<% title "Assets" %>
<table>
<tr>
<th>Uploaded Files</th>
</tr>
<% for asset in @assets %>
<tr>
<td><%= link_to asset.uploaded_file_file_name, asset.uploaded_file.url %></td>
<td><%= link_to "Show", asset %></td>
<td><%= link_to "Edit", edit_asset_path(asset) %></td>
<td><%= link_to "Destroy", asset, :confirm => 'Are you sure?', :method => :delete %></td>
</tr>
<% end %>
</table>
<p><%= link_to "New Asset", new_asset_path %></p>
[рейк маршруты]
new_user_session GET /users/sign_in(.:format) devise/sessions#new
user_session POST /users/sign_in(.:format) devise/sessions#create
destroy_user_session GET /users/sign_out(.:format) devise/sessions#destroy
user_password POST /users/password(.:format) devise/passwords#create
new_user_password GET /users/password/new(.:format) devise/passwords#new
edit_user_password GET /users/password/edit(.:format) devise/passwords#edit
PATCH /users/password(.:format) devise/passwords#update
PUT /users/password(.:format) devise/passwords#update
cancel_user_registration GET /users/cancel(.:format) devise/registrations#cancel
user_registration POST /users(.:format) devise/registrations#create
new_user_registration GET /users/sign_up(.:format) devise/registrations#new
edit_user_registration GET /users/edit(.:format) devise/registrations#edit
PATCH /users(.:format) devise/registrations#update
PUT /users(.:format) devise/registrations#update
DELETE /users(.:format) devise/registrations#destroy
root GET / homes#index
assets GET /assets(.:format) assets#index
POST /assets(.:format) assets#create
new_asset GET /assets/new(.:format) assets#new
edit_asset GET /assets/:id/edit(.:format) assets#edit
asset GET /assets/:id(.:format) assets#show
PATCH /assets/:id(.:format) assets#update
PUT /assets/:id(.:format) assets#update
DELETE /assets/:id(.:format) assets#destroy
Вам нужно удалить эту строку '<% @ assets =: assets_path%>' – Pavan
assets_path - это «вспомогательный метод». Почему вы относитесь к нему как к символу? –
О, это была ошибка ... Я уже удалял эту строку ... моя ошибка в основном, когда я использую: assets_path, она работает, но когда я использую переменную экземпляра, она не работает –