这是我使用Ruby on Rails的前几天,我没有创建一个页面,您可以阅读帖子并发布自己的帖子。 我无法弄清楚为什么我的输入字段无法读取。
告示/ index.html.erb:
<% if @notices.any? %>
<ol class="notices">
<%= render @notices %>
</ol>
<% end %>
<%= form_for @notice do |f| %>
<%= render 'shared/error_messages', object: f.object %>
<%= f.label :content %>
<%= f.text_area :content, placeholder: "Message content" %>
<%= f.submit "Post" %>
<% end %>
控制器
class NoticesController < ApplicationController
def index
@notices = Notice.paginate(page: params[:page], :per_page => 6)
@notice = current_user.notices.new
end
def create
@notices = Notice.paginate(page: params[:page], :per_page => 6)
@notice = current_user.notices.build(content: params[:content])
if @notice.save
flash[:success] = "Message posted!"
redirect_to root_url
else
render 'index'
end
end
在我已定义资源的路线中:通知
如果我将@notice更改为内容:&#34;某些字符串&#34;我的消息是由适当的用户发布的&#34;一些字符串&#34;作为内容。但是,如果我尝试将表单验证中的内容传递给空输入启动。 你能解释一下我做错了吗?
答案 0 :(得分:1)
只需写入控制器@notice = current_user.notices.all
即可答案 1 :(得分:1)
你应该定义:
SQLCommand = ("SELECT TP.UserID, Phone "
"FROM dbo.SEC_UserProfile as TP (nolock) INNER JOIN dbo.SEC_User as TE "
"ON TP.UserID = TE.UserID "
"WHERE TP.UserID LIKE ?")
然后
notices_params
params.require(:notice).permit(:content)
end