我正在尝试创建一个可以保存current_user.id的表单。我的控制器里有些东西很时髦。关于明显问题的任何想法?
查看(new.html.erb)
def create
@favorite = Favorite.new
@favorite.dish_comment = params[:dish_comment]
@favorite.user_id = curent_user.id
d = params[:dish_id]
r = params[:restaurant_id]
Controller(favorites_controller.rb)
@favorite.user_id = curent_user.id
问题代码:
Replace(CustomerName, 'ABC', 'XYZ')
答案 0 :(得分:0)
我认为你应该在你的current_user前放一个@,以便在ERB和控制器中访问它。
另外,一旦你保存了current_user,你应该使用params [:user_id]来匹配erb(输入名称是user_id)。
请查看rails服务器输出,它会告诉您请求中提交的参数。
答案 1 :(得分:0)
谢谢@jackhaskeyboard。我拼错了“当前”错误。
我现在收到以下错误:Add Favorite Error Messages 1.“用户已被带走” - 用户应该能够发布无限的收藏,所以我不确定为什么会这样。
这是我的观看代码:
<div class="row">
<div class="col-md-12">
<form action="/create_favorite" method="post">
<!-- Hidden input for authenticity token to protect from forgery -->
<input name="authenticity_token" type="hidden" value="<%= form_authenticity_token %>">
<!-- Label and input for user_id -->
<div class="form-group">
<% current_user.id %>
<input type="hidden" name="user_id" value="<%= current_user.id%>">
</div>
<!-- Label and input for dishing_id -->
<div class="form-group">
<label for="dishing_id" class="control-label">
Dish
</label>
<%= select_tag(:dish_id, options_from_collection_for_select(Dish.all, 'id', 'dish_name')) %>
</div>
<!-- Label and input for restaurant_id -->
<div class="form-group">
<label for="restaurant_id" class="control-label">
Restaurant
</label>
<%= select_tag(:restaurant_id, options_from_collection_for_select(Restaurant.all, 'id', 'name') ) %>
</div>
<button class="btn btn-success">
Create Favorite
</button>
or
<a href="/favorites">Cancel</a>
</form>
</div>
</div>